To maintain proper computer system functioning, computer systems typically perform surveillance on components. For systems whose goal is to provide competitive availability and serviceability features for customers, an independent processor is included in the hardware implementation. One function provided by this independent "service processor" is the monitoring of events or signals provided by the main processor complex and its executing software and determination if a processor or software failure has occurred. Thus, the surveillance operations commonly employ explicit cooperation between the service processor and the system software (operating system and/or applications).
The cooperation often results from providing surveillance system software in the form of a device driver and/or a timer-driven application that communicates signals at regulated intervals to the service processor in the system. Unfortunately, providing surveillance system software is typically cumbersome. For example, computer system hardware may be developed with the intention of being supported by multiple operating systems. If multiple operating systems are supported on a given hardware system, then the surveillance-enabling system software must be reimplemented multiple times.
Accordingly, what is needed is a method and system for computer system surveillance with a service processor that proceeds automatically without requiring explicit changes to the operating system.